package com.hundsun.aitest.service;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.hundsun.aitest.model.ai.ParserScene;
import com.hundsun.aitest.model.plat.InterfaceDict;
import com.hundsun.aitest.model.plat.TableInformation;

import java.util.List;
import java.util.Map;

public interface TestInterfaceService {

    /**
     * 根据测试点调用大模型匹配接口，并获取详细的接口信息
     * @param testPoint: eg: 线下客户-按客户名称进行分页查询
     * @return
     */
    InterfaceDict patternInterface(String testPoint, boolean isGetDetail) throws JsonProcessingException;

    /**
     * 根据接口id查询接口详情
     * @param interfaceId: yApi的接口id
     * @return
     */
    InterfaceDict queryInterfaceDetail(Integer interfaceId);

    /**
     * 测试分析规整统一
     * @param parserContent ： 测试分析原始内容
     * @return ： 测试分析规整后的列表
     * @throws JsonProcessingException
     */
    List<ParserScene> standardTestParseContent(String parserContent) throws JsonProcessingException;

    /**
     * 根据项目名称以及接口的参数列表名称，查询字段名称是否存在对应的字典数据，或基础数据
     * @param project：项目名称
     * @param interfaceDict： 接口的参数列表名称
     * @return： 字段名称是否存在对应的字典数据，或基础数据，放入到example字典了
     */
    InterfaceDict queryParamsDict(String project, InterfaceDict interfaceDict);

    List<TableInformation> queryTableStructs(String htmlString);
}
